package pe.com.cotelasa.scp.dominio.service;

import java.util.Collection;
import java.util.Date;
import pe.com.cotelasa.scp.dominio.common.ResultadoServicio;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.entidad.OrdenPedido;

public interface IServicioOrdenPedido {

    public Collection<OrdenPedido> listarOrdenesPedidoPorEstado(OrdenPedido ordenPedido) throws ServiceException;

    public OrdenPedido obtenerOrdenPedidoPorCodigo(OrdenPedido ordenPedido) throws ServiceException;

    public Collection<OrdenPedido> listarOrdenesPedidoActivos() throws ServiceException;

    public OrdenPedido conseguirOrdenPedidoPorId(Integer idOrdenPedido) throws ServiceException;

    public ResultadoServicio guardarOrdenPedido(OrdenPedido ordenPedido) throws ServiceException;

    public ResultadoServicio actualizarOrdenPedido(OrdenPedido ordenPedido) throws ServiceException;

    public Collection<OrdenPedido> listarOrdenPedidosPorFiltro(OrdenPedido ordenPedido, Date fechaInicio, Date fechaFin) throws ServiceException;

    public Collection<OrdenPedido> listarOrdenesPedidoActivosPorEmpresa(OrdenPedido ordenPedido) throws ServiceException;

    public Collection<OrdenPedido> listarOrdenesPedidoActivosPorTipo(OrdenPedido ordenPedido) throws ServiceException;

    public int buscarCantidadOP(OrdenPedido ordenPedido) throws ServiceException;
}
